home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / libogg / libvorbis-1.0rc3 / configure.in < prev    next >
Encoding:
Text File  |  2002-10-27  |  6.3 KB  |  191 lines

  1. dnl Process this file with autoconf to produce a configure script
  2.  
  3. dnl ------------------------------------------------
  4. dnl Initialization and Versioning
  5. dnl ------------------------------------------------
  6.  
  7. AC_INIT(lib/mdct.c)
  8. AM_INIT_AUTOMAKE(libvorbis,1.0rc3)
  9.  
  10. dnl Library versioning
  11.  
  12. V_LIB_CURRENT=1
  13. V_LIB_REVISION=0
  14. V_LIB_AGE=1
  15. VF_LIB_CURRENT=2
  16. VF_LIB_REVISION=0
  17. VF_LIB_AGE=2
  18. VE_LIB_CURRENT=1
  19. VE_LIB_REVISION=0
  20. VE_LIB_AGE=1
  21. AC_SUBST(V_LIB_CURRENT)
  22. AC_SUBST(V_LIB_REVISION)
  23. AC_SUBST(V_LIB_AGE)
  24. AC_SUBST(VF_LIB_CURRENT)
  25. AC_SUBST(VF_LIB_REVISION)
  26. AC_SUBST(VF_LIB_AGE)
  27. AC_SUBST(VE_LIB_CURRENT)
  28. AC_SUBST(VE_LIB_REVISION)
  29. AC_SUBST(VE_LIB_AGE)
  30.  
  31. dnl --------------------------------------------------  
  32. dnl Check for programs
  33. dnl --------------------------------------------------  
  34.  
  35. dnl save $CFLAGS since AC_PROG_CC likes to insert "-g -O2"
  36. dnl if $CFLAGS is blank
  37. cflags_save="$CFLAGS"
  38. AC_PROG_CC
  39. AC_PROG_CPP
  40. CFLAGS="$cflags_save"
  41.  
  42. AM_PROG_LIBTOOL
  43.  
  44. dnl --------------------------------------------------
  45. dnl Set build flags based on environment
  46. dnl --------------------------------------------------
  47.  
  48. AC_CANONICAL_HOST
  49.  
  50. dnl Set some target options
  51.  
  52. cflags_save="$CFLAGS"
  53. ldflags_save="$LDFLAGS"
  54. if test -z "$GCC"; then
  55.     case $host in 
  56.     *-*-irix*)
  57.         dnl If we're on IRIX, we wanna use cc even if gcc 
  58.         dnl is there (unless the user has overriden us)...
  59.         if test -z "$CC"; then
  60.             CC=cc
  61.         fi
  62.         DEBUG="-g -signed" 
  63.         CFLAGS="-O2 -w -signed"
  64.         PROFILE="-p -g3 -O2 -signed" ;;
  65.     sparc-sun-solaris*)
  66.         DEBUG="-v -g"
  67.         CFLAGS="-xO4 -fast -w -fsimple -native -xcg92"
  68.         PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc" ;;
  69.     *)
  70.         DEBUG="-g"
  71.         CFLAGS="-O"
  72.         PROFILE="-g -p" ;;
  73.         esac
  74. else
  75.  
  76.     case $host in 
  77.     *86-*-linux*)
  78.         DEBUG="-g -Wall -W -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
  79.         CFLAGS="-O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char"
  80. #                  PROFILE="-Wall -W -pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char -fno-inline -static"
  81.         PROFILE="-Wall -W -pg -g -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline"
  82.  
  83.         # glibc < 2.1.3 has a serious FP bug in the math inline header
  84.         # that will cripple Vorbis.  Look to see if the magic FP stack
  85.         # clobber is missing in the mathinline header, thus indicating
  86.         # the buggy version
  87.  
  88.         AC_EGREP_CPP(log10.*fldlg2.*fxch,[
  89.                 #define __LIBC_INTERNAL_MATH_INLINES 1
  90.                      #define __OPTIMIZE__
  91.                 #include <math.h>
  92.                 ],bad=maybe,bad=no)
  93.         if test ${bad} = "maybe" ;then
  94.               AC_EGREP_CPP(log10.*fldlg2.*fxch.*st\([[0123456789]]*\),
  95.                     [
  96.                     #define __LIBC_INTERNAL_MATH_INLINES 1
  97.                          #define __OPTIMIZE__
  98.                     #include <math.h>
  99.                     ],bad=no,bad=yes)
  100.         fi
  101.          if test ${bad} = "yes" ;then
  102.  AC_MSG_WARN([                                                        ])
  103.  AC_MSG_WARN([********************************************************])
  104.  AC_MSG_WARN([* The glibc headers on this machine have a serious bug *])
  105.  AC_MSG_WARN([* in /usr/include/bits/mathinline.h  This bug affects  *])
  106.  AC_MSG_WARN([* all floating point code, not just Ogg, built on this *])
  107.  AC_MSG_WARN([* machine.  Upgrading to glibc 2.1.3 is strongly urged *])
  108.  AC_MSG_WARN([* to correct the problem.  Note that upgrading glibc   *])
  109.  AC_MSG_WARN([* will not fix any previously built programs; this is  *])
  110.  AC_MSG_WARN([* a compile-time time bug.                             *])
  111.  AC_MSG_WARN([* To work around the problem for this build of Ogg,    *])
  112.  AC_MSG_WARN([* autoconf is disabling all math inlining.  This will  *])
  113.  AC_MSG_WARN([* hurt Ogg performace but is necessary for an Ogg that *])
  114.  AC_MSG_WARN([* will actually work.  Once glibc is upgraded, rerun   *])
  115.  AC_MSG_WARN([* configure and make to build with inlining.           *])
  116.  AC_MSG_WARN([********************************************************])
  117.  AC_MSG_WARN([                                                        ])
  118.  
  119.           CFLAGS=${OPT}" -D__NO_MATH_INLINES"
  120.           PROFILE=${PROFILE}" -D__NO_MATH_INLINES"
  121.           fi;;
  122.     *-*-linux*)
  123.         DEBUG="-g -Wall -W -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
  124.         CFLAGS="-O20 -ffast-math -D_REENTRANT -fsigned-char"
  125.         PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char";;
  126.     sparc-sun-*)
  127.         DEBUG="-g -Wall -W -D__NO_MATH_INLINES -fsigned-char -mv8"
  128.         CFLAGS="-O20 -ffast-math -D__NO_MATH_INLINES -fsigned-char -mv8"
  129.         PROFILE="-pg -g -O20 -D__NO_MATH_INLINES -fsigned-char -mv8" ;;
  130.     *-*-darwin*)
  131.         DEBUG="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O0 -fsigned-char"
  132.         CFLAGS="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O4 -ffast-math -fsigned-char"
  133.         PROFILE="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -pg -O4 -ffast-math -fsigned-char";;
  134.     *)
  135.         DEBUG="-g -Wall -W -D__NO_MATH_INLINES -fsigned-char"
  136.         CFLAGS="-O20 -D__NO_MATH_INLINES -fsigned-char"
  137.         PROFILE="-O20 -g -pg -D__NO_MATH_INLINES -fsigned-char" ;;
  138.         esac
  139. fi
  140. CFLAGS="$CFLAGS $cflags_save"
  141. LDFLAGS="$LDFLAGS $ldflags_save"
  142.  
  143. dnl --------------------------------------------------
  144. dnl Check for headers
  145. dnl --------------------------------------------------
  146.  
  147. AC_CHECK_HEADER(memory.h,CFLAGS="$CFLAGS -DUSE_MEMORY_H",:)
  148.  
  149. dnl --------------------------------------------------
  150. dnl Check for typedefs, structures, etc
  151. dnl --------------------------------------------------
  152.  
  153. dnl none
  154.  
  155. dnl --------------------------------------------------
  156. dnl Check for libraries
  157. dnl --------------------------------------------------
  158.  
  159. AC_CHECK_LIB(m, cos, LIBS="-lm", LIBS="")
  160. AC_CHECK_LIB(pthread, pthread_create, pthread_lib="-lpthread", :)
  161.  
  162. AM_PATH_OGG(, AC_MSG_ERROR(must have Ogg installed!))
  163.  
  164. dnl --------------------------------------------------
  165. dnl Check for library functions
  166. dnl --------------------------------------------------
  167.  
  168. AC_FUNC_ALLOCA
  169. AC_FUNC_MEMCMP
  170.  
  171. AC_CHECK_FUNCS(sqrtf)
  172. AC_CHECK_FUNCS(logf)
  173. AC_CHECK_FUNCS(expf)
  174. AC_CHECK_FUNCS(acosf)
  175. AC_CHECK_FUNCS(atanf)
  176. AC_CHECK_FUNCS(frexpf)
  177. AC_CHECK_FUNCS(rintf)
  178.  
  179. dnl --------------------------------------------------
  180. dnl Do substitutions
  181. dnl --------------------------------------------------
  182.  
  183. LIBS="$LIBS $OGG_LIBS"
  184.  
  185. AC_SUBST(LIBS)
  186. AC_SUBST(DEBUG)
  187. AC_SUBST(PROFILE)
  188. AC_SUBST(pthread_lib)
  189.  
  190. AC_OUTPUT(Makefile lib/Makefile lib/modes/Makefile lib/books/Makefile lib/books/coupled/Makefile lib/books/uncoupled/Makefile lib/books/floor/Makefile doc/Makefile doc/vorbisfile/Makefile doc/vorbisenc/Makefile include/Makefile include/vorbis/Makefile examples/Makefile win32/Makefile debian/Makefile vq/Makefile)
  191.